Aller au contenu principal

Sauvegarde/Restauration du système

Les procédures ci-dessous permettent d'assurer la non perte de donnée et la remise en état d'un système après incident.

Sauvegarde du S3

Le S3 Technique contient :

  • des buckets de données techniques d'autres composants (ex: bucket cosign-public-keys pour SAp)
  • des buckets de sauvegardes de données des composants sous Kubernetes (ex: bucket kosmos-sql-backup pour la sauvegarde du cluster PostgreSQL technique)

Il est nécessaire de sauvegarder certains de ces buckets vers un S3 externe au cluster Kubernetes.

La procédure de sauvegarde est ordonnancée par un Cronjob Kubernetes tous les jours à 5h00

La procédure est disponible ici

Le cluster S3 métier (shared-s3) n'est pas sauvegardé (cf Sauvegarde métier ).

Restauration du S3

La procédure de restauration s'exécute à la demande en précisant la sauvegarde à une date donnée et la liste des buckets à restaurer.

Dans le cas d'un PRA, la procédure doit etre précédée de la récréation du cluster S3 technique "vide".

La procédure est disponible ici

Il n'y a pas de procédure de restauration globale pour le cluster S3 métier (cf Restauration métier ).

Sauvegarde de PostgreSQL

Le cluster PostgreSQL technique (kosmos-sql) contient les bases de données techniques de certains composants (ex: Keycloak).

Il est sauvegardé dans le bucket dédié kosmos-sql-backup du cluster S3 technique.

La procédure de sauvegarde est ordonnancée par un Cronjob Kubernetes tous les jours à 4h00

La procédure est disponible ici

Le cluster PostgreSQL métier (shared-sql) n'est pas sauvegardé (cf Sauvegarde métier ).

Restauration de PostgreSQL

La procédure de restauration va recréer l'ensemble du cluster PostgreSQL technique (l'ensemble des databases). Il n'est pas possible de restaurer que certaines databases du cluster

La procédure de restauration s'exécute à la demande en précisant la sauvegarde à une date donnée.

Dans le cas d'un PRA, la procédure doit etre précédée de la récréation du cluster PostgreSQL technique "vide"

La procédure est disponible ici

Il n'y a pas de procédure de restauration globale pour le cluster S3 métier (cf Restauration métier ).

Sauvegarde de ETCD

Les ressources Kubernetes Secrets et backups.postgresql.cnpg.io sont sauvegardées par Véléro dans le Bucket dédié velero-backup du S3 Technique. La procédure de sauvegarde est ordonnancée par un Cronjob Kubernetes tous les jours à 4h00

Pour modifier cette configuration vous pouvez modifier la partie Schedules du fichier /data/apps/platform-provisioner/values/valero/values.yaml

schedules:
daily-backup:
disabled: false
schedule: "0 4 * * *" # Run at 4 AM daily (same as postgresql backup)
useOwnerReferencesInBackup: false
template:
ttl: "720h" # Keep backups for 30 days
includedNamespaces:
- "*" # Backup all namespaces
# Optionally exclude certain resources
# excludedResources:
# - events
# - events.events.k8s.io
includedResources:
- secrets
- backups.postgresql.cnpg.io
includeClusterResources: true
info

Afin d'assurer une cohérence des données sauvegarder, l'ordonnancement doit être le même que celui de la sauvegarde du cluster PostgreSQL. Afin d'assurer la restauration du cluister PostgreSQL en toute circinstance, les secrets et backups.postgresql.cnpg.io ne doivent pas etre retirés du périmetre de la sauvegarde.

Les sauvegardes sont consultables par les commandes suivantes

kubectl -n kosmos-system-restricted exec velero-59496b65cf-lwckz -c velero -- /velero backup get

ou

kubectl -n kosmos-system-restricted get backups.velero.io

Restauration de ETCD

La procédure de restauration va recréer les ressources Kubernetes en injectant les données sauvegardées la database ETCD existante.

Compte tenu des composants sauvegardés (PostgreSQL, S3), seuls les secrets et backups.postgresql.cnpg.io font l'objet de la restauration.

Créer pour cela une ressource Kubernetes restores.velero.io indiquant le backupName souhaité:

cat <<EOF | kubectl -n kosmos-system-restricted apply -f -
apiVersion: velero.io/v1
kind: Restore
metadata:
name: restore-2025-11-24
spec:
backupName: velero-daily-backup-20251112175042
includedResources:
- secrets
- backups.postgresql.cnpg.io
includedNamespaces:
- "*"
existingResourcePolicy: update
EOF

Sauvegarde métier

Le service EdS propose une fonctionalité de sauvegarde des espaces de stockage. La sauvegarde est déclenchée manuellement depuis l'interface S-EDS. Les sauvegardes sont stockées dans le S3 Technique dans le bucket eds-backups.

Restauration métier

Le service EdS propose une fonctionalité de restauration des espaces de stockage. Il faut au préalable recréer les espaces de stockage à l'identique. La restauration est ensuite déclenchée manuellement depuis l'interface S-EdS. Les sauvegardes sont récupérées depuis le S3 Technique dans le bucket eds-backups.